package io.codegeneratetool.impl.entity.dbutil;

import java.util.List;

import org.springframework.jdbc.core.JdbcTemplate;

import io.codegeneratetool.core.CodeGenerateOptions;
import io.codegeneratetool.vo.db.DB_Column;
import io.codegeneratetool.vo.db.DB_Table;

/** 表信息获取助手
 * @author jifsu
 *
 */
public abstract class TableInfoGetter {
	protected JdbcTemplate jdbcTemplate;
	/**
	 * 说明： 获取所有表
	 * @author 
	 * @param 
	 */
	public abstract List<String> getAllTables();
	/**
	 * 说明： 获取所有表
	 * @author 
	 * @param 
	 */
	public   abstract List<DB_Table> getTables(CodeGenerateOptions codeGenerateOptions);
	/**
	 * 说明：根据表名称得到数据表结构
	 * @author  
	 * @param 
	 */
	public abstract DB_Table getTable(CodeGenerateOptions codeGenerateOptions,String tableName);
	/**
	 * 获取所有列信息
	 * 
	 * @author 
	 * @param 
	 */
	public abstract List<DB_Column> getColumns(CodeGenerateOptions codeGenerateOptions,String tableName);
	
	
	public void setCustomerJdbcTemplate(JdbcTemplate jdbcTemplate){
		this.jdbcTemplate = jdbcTemplate;
	}
	
	
	
}
